// 抽象类
export { }

// abstract:定义成抽象类，就只能被子类继承，不能new了。
abstract class Animal{
    eat(food:string):void{
        console.log(`动物吃：${food}`)
    }
    // 还可以定义抽象的方法：子类中，必须要去实现
    abstract run (distance:number):void
}

class Dog extends Animal{
    run (distance:number):void{
        console.log(`动物爬行：${distance}`)
    }
}

// const d = new Animal() //无法创建抽象类的实例

const e = new Dog();
e.eat('骨头')
e.run(10)